Inlining in Gforth: Early Experiences

نویسندگان

  • David Gregg
  • M. Anton Ertl
چکیده

Many optimizations are easier or more effective for straight-line code (basic blocks). Straight-line code in Forth is limited mainly by calls and returns. Inlining eliminates calls and returns, which in turn makes the basic blocks longer, and increases the effectiveness of other optimizations. In this paper we present a first prototype implementation of ininlining for Gforth.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

State-smartness | Why It Is Evil and How to Exorcise It

State-smart words provide a number of unpleasant surprises to their users. They are applied in two contexts, and they fail in both: 1) for providing an arbitrary combination of interpretation and compilation semantics; 2) for optimizing with a special implementation of the (default) compilation semantics. This paper discusses these issues and shows programmers and system implementors how to avo...

متن کامل

Implementation Issues for Superinstructions in Gforth

Combining Forth primitives into superinstructions provides nice speedups. Several approaches to superinstructions were explored in the Gforth project. This paper discusses the effects of these approaches on performance, compilation time, implementation effort, and on programming tools such as the decompiler and backtracing.

متن کامل

An Efficient Function Inlining Scheme for Resource-Constrained Embedded Systems

Function inlining schemes are used to reduce the execution time of a program, but function inlining usually increases the code space due to the use of inlined functions. There are extreme limitations of memory space and battery capacity in embedded systems such as wireless sensor nodes. Function inlining should be performed selectively. If we reduce the execution time of a program by means of f...

متن کامل

Evaluating Inlining Techniques

For eciency and ease of implementation, many compilers implicitly impose an ``inlining policy'' to restrict the conditions under which a procedure may be inlined. An inlining technique consists of an inlining policy and a strategy for choosing a sequence of inlining operations that is consistent with the policy. The e€ectiveness of an inlining technique is a€ected by the restrictiveness of the...

متن کامل

Fast and Eeective Procedure Inlining

Inlining is an important optimization for programs that use procedural abstraction. Because inlining trades code size for execution speed, the e ectiveness of an inlining algorithm is determined not only by its ability to recognize inlining opportunities but also by its discretion in exercising those opportunities. This paper presents a new inlining algorithm for higher-order languages that com...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004